package main

import (
	"game-server/bootstrap"
	_ "game-server/docs" // 导入 docs 包
	"game-server/global"
)

// @title Game Server API
// @version 1.0
// @description 游戏服务器 API 文档
// @host localhost:8888
func main() {

	// 初始化配置
	bootstrap.InitializeConfig()

	// 初始化日志
	global.App.Log = bootstrap.InitializeLog()
	global.App.Log.Info("log init success!")

	// 初始化数据库
	global.App.DB = bootstrap.InitializeDB()

	// seeders.InitData()
	// 程序关闭前，释放数据库连接
	defer func() {
		if global.App.DB != nil {
			db, _ := global.App.DB.DB()
			db.Close()
		}
	}()

	// 初始化验证器
	bootstrap.InitializeValidator()

	// 初始化Redis
	global.App.Redis = bootstrap.InitializeRedis()

	// 初始化Minio
	// if err := bootstrap.Minio.InitClient(); err != nil {
	// 	panic(err)
	// }
	if err := bootstrap.InitMinIO(); err != nil {
		panic(err)
	}

	// 启动服务器
	bootstrap.RunServer()
}
